//1月13日课后作业代码
//计算斐波那契数
#include<stdio.h>
//采用递归的方式
// int Fib(int n)
// {
//     if(n <= 2)
//     return 1;
//     else
//     return Fib(n - 1) + Fib(n - 2);
// }

//采用迭代的方式
// int Fib(int n)
// {
//     int a = 1;
//     int b = 1;
//     int c = 1;
//     while(n >= 3)
//     {
//         c = a + b;
//         a = b;
//         b = c;
//         n --;
//     }
//     return c;
// }
// int main()
// {
//     int n = 0;
//     printf("输入：");
//     scanf("%d",&n);
//     int ret = Fib(n);
//     printf("输出：%d\n",ret);
//     return 0;
// }

//递归实现n的k次方
// int power(int n,int k)
// {
//     if(k==0)
//     return 1;
//     else return n*power(n,k-1);
// }
// int main()
// {
//     int n = 0;
//     int k = 0;
//     scanf("%d %d",&n,&k);
//     int pow = power(n,k);
//     printf("%d",pow);
//     return 0;
// }

//计算一个数的每位之和（递归实现）
// int sum(int n)
// {
//     if(n > 9)
//     return sum(n/10) + n%10;
//     else 
//     return n;
// }
// int main()
// {
//     int n = 0;
//     scanf("%d",&n);
//     int s = sum(n);
//     printf("%d",s);
//     return 0;
// }

//字符串逆序（递归实现）
// #include<string.h>
// void reverse_string(char* arr)
// {
// 	int len = strlen(arr);
// 	char tmp = *arr;
// 	*arr = *(arr+len-1);
 
// 	*(arr+len-1) = '\0';
// 	if(strlen(arr+1)>=2)
// 		reverse_string(arr+1);
 
// 	*(arr+len-1) = tmp;
// }
// int main()
// {
//     char arr[] = "abcdef";
//     reverse_string(arr);
//     printf("%s",arr);
//     return 0;
// }

//strlen的模拟（递归实现）
//非递归
// int my_strlen(char* str)
// {
// 	int count = 0;
// 	while (*str != '\0')
// 	{
// 		count++;
// 		str++;
// 	}
// 	return count;
// }

//递归
// int my_strlen(char* str)
// {
// 	if (*str != '\0')
// 		return 1 + my_strlen(str + 1);
// 	else
// 		return 0;
// }
// int main()
// {
// 	char arr[10] = "abc";
// 	int len = my_strlen(arr);
// 	printf("%d\n", len);
// 	return 0;
// }


//n的阶乘
//递归
// int fac(int n)
// {
// 	if (n <= 1)
// 		return 1;
// 	else
// 		return n * fac(n - 1);
// }

//非递归
// int fac(int n)
// {
// 	int i = 0;
// 	int ret = 1;
// 	for (i = 1; i <= n; i++)
// 	{
// 		ret = ret * i;
// 	}
// 	return ret;
// }
// int main()
// {
// 	int n = 0;
// 	scanf("%d", &n);
// 	int ret = fac(n);
// 	printf("%d\n", ret);
// 	return 0;
// }

//打印数的每一位
void Print(unsigned int n)
{
	if (n > 9)
	{
		Print(n / 10);
	}
	printf("%d ", n % 10);
}
int main()
{
	unsigned int num = 0;
	scanf("%u", &num);
	Print(num);
	return 0;
}